<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>UCARPP: includes/stm.h File Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>


</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">UCARPP
   &#160;<span id="projectnumber">1</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('stm_8h.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Defines</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">includes/stm.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;stdbool.h&gt;</code><br/>
<code>#include &quot;<a class="el" href="solution_8h_source.html">solution.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="graph_8h_source.html">graph.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="tabooState_8h_source.html">tabooState.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="los_8h_source.html">los.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="vectorParam_8h_source.html">vectorParam.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="ALGConfiguration_8h_source.html">ALGConfiguration.h</a>&quot;</code><br/>
</div><div class="textblock"><div class="dynheader">
Include dependency graph for stm.h:</div>
<div class="dyncontent">
<div class="center"><img src="stm_8h__incl.png" border="0" usemap="#includes_2stm_8h" alt=""/></div>
<map name="includes_2stm_8h" id="includes_2stm_8h">
<area shape="rect" id="node5" href="solution_8h.html" title="solution.h" alt="" coords="336,160,413,189"/><area shape="rect" id="node46" href="graph_8h.html" title="graph.h" alt="" coords="763,469,827,499"/><area shape="rect" id="node53" href="tabooState_8h.html" title="tabooState.h" alt="" coords="197,160,293,189"/><area shape="rect" id="node56" href="los_8h.html" title="los.h" alt="" coords="283,83,333,112"/><area shape="rect" id="node62" href="ALGConfiguration_8h.html" title="ALGConfiguration.h" alt="" coords="93,392,229,421"/><area shape="rect" id="node67" href="vectorParam_8h.html" title="vectorParam.h" alt="" coords="913,237,1020,267"/><area shape="rect" id="node8" href="vehicleState_8h.html" title="vehicleState.h" alt="" coords="407,315,511,344"/><area shape="rect" id="node29" href="gMatrix_8h.html" title="gMatrix.h" alt="" coords="684,392,759,421"/><area shape="rect" id="node33" href="operations_8h.html" title="operations.h" alt="" coords="412,237,505,267"/><area shape="rect" id="node10" href="vehiclePath_8h.html" title="vehiclePath.h" alt="" coords="405,392,507,421"/><area shape="rect" id="node23" href="edgeGraph_8h.html" title="edgeGraph.h" alt="" coords="611,547,707,576"/><area shape="rect" id="node14" href="edgeSol_8h.html" title="edgeSol.h" alt="" coords="405,469,485,499"/><area shape="rect" id="node17" href="edgeID_8h.html" title="edgeID.h" alt="" coords="512,547,587,576"/><area shape="rect" id="node40" href="tabooList_8h.html" title="tabooList.h" alt="" coords="196,315,281,344"/><area shape="rect" id="node42" href="tabooExpire_8h.html" title="tabooExpire.h" alt="" coords="179,469,280,499"/></map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="stm_8h__dep__incl.png" border="0" usemap="#includes_2stm_8hdep" alt=""/></div>
<map name="includes_2stm_8hdep" id="includes_2stm_8hdep">
<area shape="rect" id="node3" href="LTMConfiguration_8h.html" title="includes/LTMConfiguration.h" alt="" coords="5,83,192,112"/><area shape="rect" id="node5" href="ltm_8h.html" title="includes/ltm.h" alt="" coords="48,160,149,189"/></map>
</div>
</div>
<p><a href="stm_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structSTMConfiguration.html">STMConfiguration</a></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stm_8h.html#ac636356a6ac19baf859b49ce5f43462d">STM_MOVES_AVAILABLE</a>&#160;&#160;&#160;3</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">contiene le funzioni principali per realizzare la logica STM dell'algoritmo  <a href="#ac636356a6ac19baf859b49ce5f43462d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stm_8h.html#a9466a2472598c6447552953c6d447837">STM_PICTURE_PATTERNNAME</a>&#160;&#160;&#160;&quot;../pictures/solution%04lu.bmp&quot;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stm_8h.html#aaa23dc564dd37d24ddcede100f5055d6">STM_MATLAB_F_OBJ_HISTORY</a>&#160;&#160;&#160;&quot;../matlab-interface/fObjHistory.m&quot;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stm_8h.html#af0bd1d45304b9c0fc164d421867df852">STM_MATLAB_MOVES_HISTORY</a>&#160;&#160;&#160;&quot;../matlab-interface/movesHistory.m&quot;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stm_8h.html#ab97e6c58ff5e9aed2a0c5825840f09de">STM_LOGFILE</a>&#160;&#160;&#160;&quot;../pictures/stm.log&quot;</td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structSTMConfiguration.html">STMConfiguration</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stm_8h.html#a89c5978f28153dcb2e6b41579cb8f581">STMConfiguration</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structSTMConfiguration.html">STMConfiguration</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stm_8h.html#abfde69eca527c83c96e2b8c1a9f7b2f3">pSTMConfiguration</a></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="stm_8h.html#abfde69eca527c83c96e2b8c1a9f7b2f3">pSTMConfiguration</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stm_8h.html#af3abf45e46715b683ca87f367e6d3a80">initSTMConfiguration</a> (<a class="el" href="ALGConfiguration_8h.html#aeba119601bed3ad672c244e7c8522174">PalgConfiguration</a> pALGconfig)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stm_8h.html#ab3e44f35fe4cc95ebb829415715b0c42">computeExponent</a> (<a class="el" href="vectorParam_8h.html#a998209525ab2e542f6c83bdeec8eae0d">PvectorParam</a> v)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stm_8h.html#ae822b5cfa2b5f240c74f8ca6087eeecd">computeGaussian</a> (<a class="el" href="vectorParam_8h.html#a998209525ab2e542f6c83bdeec8eae0d">PvectorParam</a> x)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stm_8h.html#a7d6e3933be190167160a5ef136426990">initSTMEngine</a> (int T, int Q)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="solution_8h.html#a51498378a2ebad2f10298fbf2ad5613c">Psolution</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stm_8h.html#a2c940aafd0e928b58b3f1473d8a8c320">executeSTM</a> (<a class="el" href="solution_8h.html#a51498378a2ebad2f10298fbf2ad5613c">Psolution</a> p_solution, <a class="el" href="graph_8h.html#a804cfb50d20c745519ebc5a645437049">Pgraph</a> p_graph, <a class="el" href="tabooState_8h.html#aabdb68ff37c6a806d0a2555b0186c9a8">PtabooState</a> p_taboostate, <a class="el" href="stm_8h.html#abfde69eca527c83c96e2b8c1a9f7b2f3">pSTMConfiguration</a> pSTMconfig)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stm_8h.html#a590e5186e769add1a1b4b5b4e36882e0">stmMustContinue</a> (<a class="el" href="tabooExpire_8h.html#a03a425df65af050afbb5cab3c16f4263">TabooExpire</a> iterationNumber, <a class="el" href="tabooExpire_8h.html#a03a425df65af050afbb5cab3c16f4263">TabooExpire</a> maxIterationNumber, <a class="el" href="tabooExpire_8h.html#a03a425df65af050afbb5cab3c16f4263">TabooExpire</a> lastIncrementingIteration, <a class="el" href="tabooExpire_8h.html#a03a425df65af050afbb5cab3c16f4263">TabooExpire</a> maxContigousDecrementingIteration)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stm_8h.html#af309f1cbea19eb7ad8f9e64db73766bf">selectBestLOSMove</a> (<a class="el" href="vectorParam_8h.html#a998209525ab2e542f6c83bdeec8eae0d">PvectorParam</a> x, <a class="el" href="vectorParam_8h.html#a998209525ab2e542f6c83bdeec8eae0d">PvectorParam</a> averageAdd, <a class="el" href="vectorParam_8h.html#a998209525ab2e542f6c83bdeec8eae0d">PvectorParam</a> averageSwap, <a class="el" href="vectorParam_8h.html#a998209525ab2e542f6c83bdeec8eae0d">PvectorParam</a> averageRemove)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stm_8h.html#a864e876f10d23e40f552678494d7696a">initializeOutputScripts</a> (FILE **pfObjHistory, FILE **pmovesHistory, int K, int T, int Q, <a class="el" href="solution_8h.html#a51498378a2ebad2f10298fbf2ad5613c">Psolution</a> ps)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stm_8h.html#ae0c84b467ad40d97e5ab749dddbf33bc">updateOutputScripts</a> (FILE *fObjHistory, FILE *movesHistory, int k, int T, int Q, int moveToApply, int LOSExitStatus, <a class="el" href="vehicleState_8h.html#a22da3b197204806711b0084dc72e971a">PvehicleState</a> pvs, <a class="el" href="tabooExpire_8h.html#a03a425df65af050afbb5cab3c16f4263">TabooExpire</a> currentIteration)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stm_8h.html#aed719c2c3b0ae1cd2a817925fa5d2ae4">finalizeOutputScripts</a> (FILE *fObjHistory, FILE *movesHistory, int K, <a class="el" href="tabooExpire_8h.html#a03a425df65af050afbb5cab3c16f4263">TabooExpire</a> finalIteration)</td></tr>
<tr><td colspan="2"><h2><a name="var-members"></a>
Variables</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="tabooExpire_8h.html#a03a425df65af050afbb5cab3c16f4263">TabooExpire</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stm_8h.html#a4401c65b004c9ad672b791542078394b">moveTabooList</a> [<a class="el" href="stm_8h.html#ac636356a6ac19baf859b49ce5f43462d">STM_MOVES_AVAILABLE</a>]</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stm_8h.html#ac96e415fff8f2850b88bc48de8299f88">stmCovariance</a> [2][2]</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stm_8h.html#a12d20d7864c9f7fc6c5aa0f6232fa049">stmCovarianceDet</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stm_8h.html#a09e90d00627ed328de25c613060553f5">stmCovarianceInv</a> [2][2]</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stm_8h.html#a908dc59a1ec4614c995d42b6d2e4057d">stmGaussianAmplifier</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stm_8h.html#aa4a588571ef2f8a2d7736922ccec02a7">stmGaussianLogBase</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="stm_8h.html#af0505b5f436e4a28bafba72fadd7d8f1">stmMinProbabilisticValue</a></td></tr>
</table>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="ab97e6c58ff5e9aed2a0c5825840f09de"></a><!-- doxytag: member="stm.h::STM_LOGFILE" ref="ab97e6c58ff5e9aed2a0c5825840f09de" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="stm_8h.html#ab97e6c58ff5e9aed2a0c5825840f09de">STM_LOGFILE</a>&#160;&#160;&#160;&quot;../pictures/stm.log&quot;</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>indica il file in cui stm va a scrivere ogni sua mossa cosa comporta </p>

</div>
</div>
<a class="anchor" id="aaa23dc564dd37d24ddcede100f5055d6"></a><!-- doxytag: member="stm.h::STM_MATLAB_F_OBJ_HISTORY" ref="aaa23dc564dd37d24ddcede100f5055d6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="stm_8h.html#aaa23dc564dd37d24ddcede100f5055d6">STM_MATLAB_F_OBJ_HISTORY</a>&#160;&#160;&#160;&quot;../matlab-interface/fObjHistory.m&quot;</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Script matlab per disegnare le K serie storiche delle funzioni obiettivo durante l'esecuzione di un STM </p>

</div>
</div>
<a class="anchor" id="af0bd1d45304b9c0fc164d421867df852"></a><!-- doxytag: member="stm.h::STM_MATLAB_MOVES_HISTORY" ref="af0bd1d45304b9c0fc164d421867df852" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="stm_8h.html#af0bd1d45304b9c0fc164d421867df852">STM_MATLAB_MOVES_HISTORY</a>&#160;&#160;&#160;&quot;../matlab-interface/movesHistory.m&quot;</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Script matlab per disegnare lo storico e l'istogramma delle decisioni durante l'esecuzione di un STM </p>

</div>
</div>
<a class="anchor" id="ac636356a6ac19baf859b49ce5f43462d"></a><!-- doxytag: member="stm.h::STM_MOVES_AVAILABLE" ref="ac636356a6ac19baf859b49ce5f43462d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="stm_8h.html#ac636356a6ac19baf859b49ce5f43462d">STM_MOVES_AVAILABLE</a>&#160;&#160;&#160;3</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>contiene le funzioni principali per realizzare la logica STM dell'algoritmo </p>
<p><a class="el" href="stm_8h.html">stm.h</a> la libreria comunica sia con il livello ltm (da cui riceve una soluzione costruttiva) che con il LOS. La libreria puo' essere richiamata tramite il suo metodo principale, la funzione <a class="el" href="stm_8h.html#a2c940aafd0e928b58b3f1473d8a8c320">executeSTM()</a>.</p>
<p>Created on: May 6, 2013 Author: patrizioindica il numero di mosse che STM dispone per pilotare il LOS. Al momento sono 3 ossia: </p>
<ul>
<li>ADD </li>
<li>SWAP </li>
<li>REMOVE </li>
</ul>

</div>
</div>
<a class="anchor" id="a9466a2472598c6447552953c6d447837"></a><!-- doxytag: member="stm.h::STM_PICTURE_PATTERNNAME" ref="a9466a2472598c6447552953c6d447837" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="stm_8h.html#a9466a2472598c6447552953c6d447837">STM_PICTURE_PATTERNNAME</a>&#160;&#160;&#160;&quot;../pictures/solution%04lu.bmp&quot;</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="abfde69eca527c83c96e2b8c1a9f7b2f3"></a><!-- doxytag: member="stm.h::pSTMConfiguration" ref="abfde69eca527c83c96e2b8c1a9f7b2f3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="structSTMConfiguration.html">STMConfiguration</a>* <a class="el" href="stm_8h.html#abfde69eca527c83c96e2b8c1a9f7b2f3">pSTMConfiguration</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a89c5978f28153dcb2e6b41579cb8f581"></a><!-- doxytag: member="stm.h::STMConfiguration" ref="a89c5978f28153dcb2e6b41579cb8f581" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structSTMConfiguration.html">STMConfiguration</a>  <a class="el" href="structSTMConfiguration.html">STMConfiguration</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Struttura contenente tutte e sole le configurazioni di cui STM necessita per girare. Comprende dunque la configurazione di LOS. </p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ab3e44f35fe4cc95ebb829415715b0c42"></a><!-- doxytag: member="stm.h::computeExponent" ref="ab3e44f35fe4cc95ebb829415715b0c42" args="(PvectorParam v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="stm_8h.html#ab3e44f35fe4cc95ebb829415715b0c42">computeExponent</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="vectorParam_8h.html#a998209525ab2e542f6c83bdeec8eae0d">PvectorParam</a>&#160;</td>
          <td class="paramname"><em>v</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>computa il valore che si configura come l'esponente di un'esponenziale in una gaussiana, ossia: </p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ {-\frac{1}{2}}{log(a)}(v^{T}\;Cov^{-1}\;v) \]" src="form_4.png"/>
</p>
<dl class="pre"><dt><b>Precondition:</b></dt><dd><ul>
<li>la funzione <a class="el" href="stm_8h.html#a7d6e3933be190167160a5ef136426990">initSTMEngine()</a> deve essere gia' stata richiamata </li>
<li>v non NULL</li>
</ul>
</dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">v</td><td>indica il vettore 2x1 contenente il valore tau al primo indice e theta al secondo indice del camion considerato </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>un numero che puo' essere posrto come esponente di un esponenziale per implementare una gaussiana </dd></dl>

</div>
</div>
<a class="anchor" id="ae822b5cfa2b5f240c74f8ca6087eeecd"></a><!-- doxytag: member="stm.h::computeGaussian" ref="ae822b5cfa2b5f240c74f8ca6087eeecd" args="(PvectorParam x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="stm_8h.html#ae822b5cfa2b5f240c74f8ca6087eeecd">computeGaussian</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="vectorParam_8h.html#a998209525ab2e542f6c83bdeec8eae0d">PvectorParam</a>&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>computa il valore di una campana di gauss, ossia: </p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ A e^{-\frac{1}{2}}{log(a)}(v^{T}\;Cov^{-1}\;v) \]" src="form_5.png"/>
</p>
<p> dove: </p>
<ul>
<li>A e' stmGaussianAmplifier; </li>
<li>log(a) e' un valore calcolato in modo che la guassiana sia sempre maggiore di stmMinProbabilisticValue; </li>
<li>Cov e' stmCovariance.</li>
</ul>
<dl class="pre"><dt><b>Precondition:</b></dt><dd><ul>
<li>la funzione <a class="el" href="stm_8h.html#a7d6e3933be190167160a5ef136426990">initSTMEngine()</a> deve essere gia' stata richiamata </li>
<li>x non NULL </li>
</ul>
</dd></dl>
<dl class="post"><dt><b>Postcondition:</b></dt><dd>un valore float compreso tra stmMinProbabilisticValue e stmGaussianAmplifier</dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>il vettore 2x1 che abbia come prima coordinata tau e come seconda coordinata theta </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>un valutatore </dd></dl>

</div>
</div>
<a class="anchor" id="a2c940aafd0e928b58b3f1473d8a8c320"></a><!-- doxytag: member="stm.h::executeSTM" ref="a2c940aafd0e928b58b3f1473d8a8c320" args="(Psolution p_solution, Pgraph p_graph, PtabooState p_taboostate, pSTMConfiguration pSTMconfig)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="solution_8h.html#a51498378a2ebad2f10298fbf2ad5613c">Psolution</a> <a class="el" href="stm_8h.html#a2c940aafd0e928b58b3f1473d8a8c320">executeSTM</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="solution_8h.html#a51498378a2ebad2f10298fbf2ad5613c">Psolution</a>&#160;</td>
          <td class="paramname"><em>p_solution</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="graph_8h.html#a804cfb50d20c745519ebc5a645437049">Pgraph</a>&#160;</td>
          <td class="paramname"><em>p_graph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="tabooState_8h.html#aabdb68ff37c6a806d0a2555b0186c9a8">PtabooState</a>&#160;</td>
          <td class="paramname"><em>p_taboostate</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stm_8h.html#abfde69eca527c83c96e2b8c1a9f7b2f3">pSTMConfiguration</a>&#160;</td>
          <td class="paramname"><em>pSTMconfig</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>esegue il sottolivello STM. Per conoscere come funziona il livello STM concettualmente visitare l'URL <a href="http://code.google.com/p/opt-alg/wiki/ShortTermMemory">http://code.google.com/p/opt-alg/wiki/ShortTermMemory</a> .</p>
<dl class="pre"><dt><b>Precondition:</b></dt><dd><ul>
<li>initsolution non NULL </li>
<li>graph non NULL </li>
<li>initSTMEngine e' gia' stato richiamato precedentemente e con successo almeno una volta </li>
<li>ptaboostate non NULL </li>
</ul>
</dd></dl>
<dl class="post"><dt><b>Postcondition:</b></dt><dd>initSolution viene sovracritta in modo che al suo interno sia contenuta la soluzione che secondo STM e' la migliore possibile</dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">initsolution</td><td>la soluzione iniziale con cui iniziare l'algoritmo </td></tr>
    <tr><td class="paramname">graph</td><td>il grafo su cui elaborare l'ottimo </td></tr>
    <tr><td class="paramname">ptaboostate</td><td>la taboo state gia' inizializzata dal LTM </td></tr>
    <tr><td class="paramname">maxIterationNumber</td><td>il numero massimo di iterazioni accettate prima di terminare l'algoritmo </td></tr>
    <tr><td class="paramname">maxContigousDecrementingIteration</td><td>il numero massimo di iterazioni accettate prima di far terminare l'algoritmo dall'ultimo incremento positivo della soluzione. </td></tr>
    <tr><td class="paramname">pSTMconfig</td><td>il sottoinsieme delle config relativo a STM e ai suoi livelli inferiori. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>la soluzione migliore incrontrata da STM durante le sue iterazioni </dd></dl>

</div>
</div>
<a class="anchor" id="aed719c2c3b0ae1cd2a817925fa5d2ae4"></a><!-- doxytag: member="stm.h::finalizeOutputScripts" ref="aed719c2c3b0ae1cd2a817925fa5d2ae4" args="(FILE *fObjHistory, FILE *movesHistory, int K, TabooExpire finalIteration)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="stm_8h.html#aed719c2c3b0ae1cd2a817925fa5d2ae4">finalizeOutputScripts</a> </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>fObjHistory</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>movesHistory</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>K</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="tabooExpire_8h.html#a03a425df65af050afbb5cab3c16f4263">TabooExpire</a>&#160;</td>
          <td class="paramname"><em>finalIteration</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>TODO doc. snellimento codice executeSTM </p>

</div>
</div>
<a class="anchor" id="a864e876f10d23e40f552678494d7696a"></a><!-- doxytag: member="stm.h::initializeOutputScripts" ref="a864e876f10d23e40f552678494d7696a" args="(FILE **pfObjHistory, FILE **pmovesHistory, int K, int T, int Q, Psolution ps)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="stm_8h.html#a864e876f10d23e40f552678494d7696a">initializeOutputScripts</a> </td>
          <td>(</td>
          <td class="paramtype">FILE **&#160;</td>
          <td class="paramname"><em>pfObjHistory</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">FILE **&#160;</td>
          <td class="paramname"><em>pmovesHistory</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>K</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>T</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Q</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="solution_8h.html#a51498378a2ebad2f10298fbf2ad5613c">Psolution</a>&#160;</td>
          <td class="paramname"><em>ps</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>TODO doc. snellimento codice executeSTM </p>

</div>
</div>
<a class="anchor" id="af3abf45e46715b683ca87f367e6d3a80"></a><!-- doxytag: member="stm.h::initSTMConfiguration" ref="af3abf45e46715b683ca87f367e6d3a80" args="(PalgConfiguration pALGconfig)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="stm_8h.html#abfde69eca527c83c96e2b8c1a9f7b2f3">pSTMConfiguration</a> <a class="el" href="stm_8h.html#af3abf45e46715b683ca87f367e6d3a80">initSTMConfiguration</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ALGConfiguration_8h.html#aeba119601bed3ad672c244e7c8522174">PalgConfiguration</a>&#160;</td>
          <td class="paramname"><em>pALGconfig</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a7d6e3933be190167160a5ef136426990"></a><!-- doxytag: member="stm.h::initSTMEngine" ref="a7d6e3933be190167160a5ef136426990" args="(int T, int Q)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="stm_8h.html#a7d6e3933be190167160a5ef136426990">initSTMEngine</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>T</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Q</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>inizializza i parametri essenziali per far funzionare correttamente STM. Tale funzione deve essere richiamata prima di qualunque altra funzione di STM</p>
<dl class="pre"><dt><b>Precondition:</b></dt><dd><ul>
<li>almeno uno dei parametri T e Q deve essere diverso da 0 </li>
</ul>
</dd></dl>
<dl class="post"><dt><b>Postcondition:</b></dt><dd><ul>
<li>la matrice di covarianza e' impostata </li>
<li>il determinante della matrice di covaraizan e' imposta </li>
<li>la matrice inversa della matrice di covarianza e' impostata </li>
<li>la base dell'esponenziale nel calcolo delle gaussiane e' impostato </li>
<li>srand e' stato richiamato una e una sola volta a prescindere dal numero di chiamate di questa funzione</li>
</ul>
</dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">T</td><td>il tempo massimo dato ai camion per percorrere un qualunque cammino </td></tr>
    <tr><td class="paramname">Q</td><td>la capacita' massima supportata dai camion </td></tr>
    <tr><td class="paramname">generateFobjHistory</td><td>vero sse si vuole scrivere su file uno script matlab/octave per plots dello storico per la funzione obiettivo </td></tr>
    <tr><td class="paramname">generateMovesHistory</td><td>vero sse si vuole scrivere su file uno script matlab/octave per lo scatterplot e l'istogramma delle mosse scelte. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af309f1cbea19eb7ad8f9e64db73766bf"></a><!-- doxytag: member="stm.h::selectBestLOSMove" ref="af309f1cbea19eb7ad8f9e64db73766bf" args="(PvectorParam x, PvectorParam averageAdd, PvectorParam averageSwap, PvectorParam averageRemove)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="stm_8h.html#af309f1cbea19eb7ad8f9e64db73766bf">selectBestLOSMove</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="vectorParam_8h.html#a998209525ab2e542f6c83bdeec8eae0d">PvectorParam</a>&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="vectorParam_8h.html#a998209525ab2e542f6c83bdeec8eae0d">PvectorParam</a>&#160;</td>
          <td class="paramname"><em>averageAdd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="vectorParam_8h.html#a998209525ab2e542f6c83bdeec8eae0d">PvectorParam</a>&#160;</td>
          <td class="paramname"><em>averageSwap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="vectorParam_8h.html#a998209525ab2e542f6c83bdeec8eae0d">PvectorParam</a>&#160;</td>
          <td class="paramname"><em>averageRemove</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>ricava la prossima mossa che il LOS dovra' eseguire.</p>
<dl class="pre"><dt><b>Precondition:</b></dt><dd><ul>
<li>x non NULL </li>
<li>i quattro parametro contengono in prima posizione il tempo e in seconda posizione la capacita' </li>
<li>averageAdd, averageSwap e averageRemove non NULL </li>
</ul>
</dd></dl>
<dl class="post"><dt><b>Postcondition:</b></dt><dd><ul>
<li>uno dei valori tra MOVE_ADD, MOVE_SWAP e MOVE_REMOVE</li>
</ul>
</dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>il vettore contenente i valori tempo e capacita' residui del camion </td></tr>
    <tr><td class="paramname">averageAdd</td><td>il punto in cui la probabilita' di fare Add e' massima </td></tr>
    <tr><td class="paramname">averageSwap</td><td>il punto in cui la probabilita' di fare Swap e' massima </td></tr>
    <tr><td class="paramname">averageRemove</td><td>il punto in cui la probabilita' di fare Remove e' massima </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>uno dei valori tra MOVE_ADD, MOVE_SWAP o MOVE_REMOVE </dd></dl>

</div>
</div>
<a class="anchor" id="a590e5186e769add1a1b4b5b4e36882e0"></a><!-- doxytag: member="stm.h::stmMustContinue" ref="a590e5186e769add1a1b4b5b4e36882e0" args="(TabooExpire iterationNumber, TabooExpire maxIterationNumber, TabooExpire lastIncrementingIteration, TabooExpire maxContigousDecrementingIteration)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="stm_8h.html#a590e5186e769add1a1b4b5b4e36882e0">stmMustContinue</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="tabooExpire_8h.html#a03a425df65af050afbb5cab3c16f4263">TabooExpire</a>&#160;</td>
          <td class="paramname"><em>iterationNumber</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="tabooExpire_8h.html#a03a425df65af050afbb5cab3c16f4263">TabooExpire</a>&#160;</td>
          <td class="paramname"><em>maxIterationNumber</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="tabooExpire_8h.html#a03a425df65af050afbb5cab3c16f4263">TabooExpire</a>&#160;</td>
          <td class="paramname"><em>lastIncrementingIteration</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="tabooExpire_8h.html#a03a425df65af050afbb5cab3c16f4263">TabooExpire</a>&#160;</td>
          <td class="paramname"><em>maxContigousDecrementingIteration</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>indica se l'algoritmo STM deve terminare il suo continuo ciclo. Questa funzione e' vera qualora: </p>
<ul>
<li>si sia superato un numero di iterazioni massime globale dell'algoritmo </li>
<li>non si abbia avuto un incremento della funzione obiettivo dal un certo numero di iterazioni</li>
</ul>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">iterationNumber</td><td>indica il numero di iterazioni corrente </td></tr>
    <tr><td class="paramname">maxIterationNumber</td><td>indica il numero massimo di iterazioni globale dell'algoritmo STM </td></tr>
    <tr><td class="paramname">lastIncrementingIteration</td><td>indica il numero corrente di iterazioni dall'ultimo incremento della funzione obiettivo </td></tr>
    <tr><td class="paramname">maxContigousDecrementingIteration</td><td>indica il numero massimo di iterazioni dall'ultimo incremento della funzione obiettivo entro le quali STM si ferma </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>TRUE se l'algoritmo deve fermarsi, FALSE altrimenti </dd></dl>

</div>
</div>
<a class="anchor" id="ae0c84b467ad40d97e5ab749dddbf33bc"></a><!-- doxytag: member="stm.h::updateOutputScripts" ref="ae0c84b467ad40d97e5ab749dddbf33bc" args="(FILE *fObjHistory, FILE *movesHistory, int k, int T, int Q, int moveToApply, int LOSExitStatus, PvehicleState pvs, TabooExpire currentIteration)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="stm_8h.html#ae0c84b467ad40d97e5ab749dddbf33bc">updateOutputScripts</a> </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>fObjHistory</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>movesHistory</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>k</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>T</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Q</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>moveToApply</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>LOSExitStatus</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="vehicleState_8h.html#a22da3b197204806711b0084dc72e971a">PvehicleState</a>&#160;</td>
          <td class="paramname"><em>pvs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="tabooExpire_8h.html#a03a425df65af050afbb5cab3c16f4263">TabooExpire</a>&#160;</td>
          <td class="paramname"><em>currentIteration</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>TODO doc. snellimento codice executeSTM </p>

</div>
</div>
<hr/><h2>Variable Documentation</h2>
<a class="anchor" id="a4401c65b004c9ad672b791542078394b"></a><!-- doxytag: member="stm.h::moveTabooList" ref="a4401c65b004c9ad672b791542078394b" args="[STM_MOVES_AVAILABLE]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="tabooExpire_8h.html#a03a425df65af050afbb5cab3c16f4263">TabooExpire</a> <a class="el" href="stm_8h.html#a4401c65b004c9ad672b791542078394b">moveTabooList</a>[<a class="el" href="stm_8h.html#ac636356a6ac19baf859b49ce5f43462d">STM_MOVES_AVAILABLE</a>]</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>indica la tabooList delle mosse. Ipotizziamo infatti che abbiamo fatto 100 swap e siamo ancora a capacita' rimanenti (T/2;Q/2). Forse e' meglio abolire la swap per un po' di tempo e lasciare che add e remove facciano il loro corso! </p>

</div>
</div>
<a class="anchor" id="ac96e415fff8f2850b88bc48de8299f88"></a><!-- doxytag: member="stm.h::stmCovariance" ref="ac96e415fff8f2850b88bc48de8299f88" args="[2][2]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="stm_8h.html#ac96e415fff8f2850b88bc48de8299f88">stmCovariance</a>[2][2]</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>indica la matrice di covarianza da utilizzare per correlare la variabile tau e theta all'interno delle gaussiane contenute nel valutatore. </p>
<ul>
<li>l'indice 0 si riferisce ai tempi </li>
<li>l'indice 1 si riferisce alle cpaacita' </li>
</ul>

</div>
</div>
<a class="anchor" id="a12d20d7864c9f7fc6c5aa0f6232fa049"></a><!-- doxytag: member="stm.h::stmCovarianceDet" ref="a12d20d7864c9f7fc6c5aa0f6232fa049" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="stm_8h.html#a12d20d7864c9f7fc6c5aa0f6232fa049">stmCovarianceDet</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>indica il determinante di stmCovariance , definito come </p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ *|Cov|=Cov_{11} Cov_{00} - Cov_{01} a_{10} \]" src="form_1.png"/>
</p>
 
</div>
</div>
<a class="anchor" id="a09e90d00627ed328de25c613060553f5"></a><!-- doxytag: member="stm.h::stmCovarianceInv" ref="a09e90d00627ed328de25c613060553f5" args="[2][2]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="stm_8h.html#a09e90d00627ed328de25c613060553f5">stmCovarianceInv</a>[2][2]</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>rappresenta l'inversa della matrice di covarianza. Assicurarsi che il determinante sia diverso da 0 </p>

</div>
</div>
<a class="anchor" id="a908dc59a1ec4614c995d42b6d2e4057d"></a><!-- doxytag: member="stm.h::stmGaussianAmplifier" ref="a908dc59a1ec4614c995d42b6d2e4057d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="stm_8h.html#a908dc59a1ec4614c995d42b6d2e4057d">stmGaussianAmplifier</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>indica un coefficiente che amplifica il valore della gaussiana. Esso si configura di fatto come il massimo raggiungibile da un singolo valutatore di una mossa </p>

</div>
</div>
<a class="anchor" id="aa4a588571ef2f8a2d7736922ccec02a7"></a><!-- doxytag: member="stm.h::stmGaussianLogBase" ref="aa4a588571ef2f8a2d7736922ccec02a7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="stm_8h.html#aa4a588571ef2f8a2d7736922ccec02a7">stmGaussianLogBase</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>indica il logaritmo della base della gaussiana, ossia: </p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ log(a) \]" src="form_2.png"/>
</p>
<p> questo valore modifica la varianza della gaussiana per rendere i numeri ritornati dal valutatore non troppo piccoli </p>

</div>
</div>
<a class="anchor" id="af0505b5f436e4a28bafba72fadd7d8f1"></a><!-- doxytag: member="stm.h::stmMinProbabilisticValue" ref="af0505b5f436e4a28bafba72fadd7d8f1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="stm_8h.html#af0505b5f436e4a28bafba72fadd7d8f1">stmMinProbabilisticValue</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>indica un coefficiente che si configura com il minimo valore ottenibile da un valutatore di una mossa. In questo modo e' possibile limitare gli errori di approssimazione provocati dalla granularita' del tipo float </p>

</div>
</div>
</div><!-- contents -->
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="stm_8h.html">stm.h</a>      </li>

    <li class="footer">Generated on Thu Jun 27 2013 11:34:37 for UCARPP by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.6.1 </li>
   </ul>
 </div>


</body>
</html>
